Skip to content

BindWindow 错误码说明 - BindWindowErrorCodes

概述

BindWindow / BindWindowEx绑定失败时返回负数,其绝对值即为错误码,与 GetLastError() 返回值一致。

绑定成功返回 1。已绑定同一对象时再次绑定也返回 1(幂等成功)。

失败时建议同时调用:

  • GetLastError():获取错误码(正整数,如 4032
  • GetLastErrorString():获取中文说明(用完后 FreeStringPtr 释放)
cpp
int ret = ola.BindWindowEx(hwnd, "dx", "dx", "dx", "", 0);
if (ret != 1) {
    int err = GetLastError();           // 例如 4032
    int code = ret < 0 ? -ret : err;       // 与 GetLastError 一致
    char* msg = (char*)GetLastErrorString();
    // 根据 code 排查,见下表
    FreeStringPtr((int64_t)msg);
}

通用错误(10xx)

返回值GetLastError说明排查建议
-10011001权限不足 / 未登录调用 Login/Reg;检查 FeatureList
-10041004VMware 功能无权限升级授权或使用非 VMware 模式

绑定参数与环境(40xx)

返回值GetLastError说明排查建议
-40014001窗口句柄无效确认 hwnd 未销毁
-40024002无法获取窗口 PID窗口是否存在、是否跨会话
-40034003display/mouse/keypad 模式无效检查模式字符串拼写
-40044004未管理员权限IsElevatedEnsureElevated=false
-40104010VNC 连接失败VncServer/VncPort/密码
-40114011RDP 连接失败RDP 配置与网络

Hook 准备阶段(402x)

返回值GetLastError说明排查建议
-40204020共享内存创建失败杀软、权限
-40214021目标 Hook 仍在卸载等待数秒后重试
-40224022绑定互斥量创建失败系统资源
-40234023绑定互斥量获取超时多实例绑同一窗口
-40244024心跳/运行参数配置失败日志、杀软
-40254025DX3 IPC 预初始化失败沙箱/多开;SharedMemoryNamePrefix

DLL 注入(403x,中文路径重点)

返回值GetLastError说明排查建议
-40304030注入失败(通用)查看日志
-40314031无痕内存注入失败mode=0 时会先尝试;可试 mode=1
-40324032RemoteExe 注入失败中文 Temp 路径、inject-helper、杀软
-40334033远程线程注入失败OpenProcess / LoadLibrary
-40344034临时 Hook DLL 写入失败Temp 目录权限、中文路径
-40354035inject-helper 释出失败Temp 写权限
-40364036CreateProcess 启动 inject-helper 失败路径、杀软拦截
-40374037Hook DLL 文件不存在注入前校验失败
-40384038Hook 互斥量仍存在等待卸载后重绑
-40394039注入后 10s 未检测到模块inject-helper 卡住、LoadLibrary 失败
-40404040内置 hook_graphics 解码失败安装包损坏
-40414041inject-helper 不存在同 4035
-40424042OpenProcess 失败权限、保护进程
-40434043反射注入失败mode=11
-40444044驱动注入失败mode=2/3/4、驱动加载

Hook 初始化(405x / 409x)

返回值GetLastError说明排查建议
-40504050Hook 初始化超时hookCompleted 未置位;目标无渲染
-40994099内部异常联系支持并提供日志

相关接口